Hệ thống xếp lịch học tín chỉ cho sinh viên CNTT trên PHP & MySQL
112.033 lượt xem;
1 <!-- Edit this file to change the layout of the detail view form -->
2
3 <a name="detail-view"></a>
4 <div class="panel-heading"><h3 class="panel-title"><strong><%%DETAIL_VIEW_TITLE%%></strong></h3></div>
5
6 <div class="panel-body" id="personal_time_table_dv_container">
7 <!-- child links -->
8 <div class="row vspacer-md">
9 <div class="col-xs-12">
10 <div class="clearfix"></div>
11 </div>
12 </div>
13 <hr class="hidden-xs hidden-sm">
14
15 <div class="row">
16 <!-- form inputs -->
17 <div class="col-md-8 col-lg-10" id="personal_time_table_dv_form">
18 <fieldset class="form-horizontal">
19
20 <div class="form-group">
21 <hr class="hidden-md hidden-lg">
22 <label for="id" class="control-label col-lg-3">ID</label>
23 <div class="col-lg-9">
24 <div class="form-control-static" id="id"><%%VALUE(id)%%></div>
25 </div>
26 </div>
27
28 <div class="form-group">
29 <hr class="hidden-md hidden-lg">
30 <label for="day" class="control-label col-lg-3">Ngày<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
31 <div class="col-lg-9">
32 <%%COMBO(day)%%>
33 </div>
34 </div>
35
36 <div class="form-group">
37 <hr class="hidden-md hidden-lg">
38 <label for="time_start" class="control-label col-lg-3">Thời gian bắt đầu<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
39 <div class="col-lg-9">
40 <input maxlength="" type="text" class="form-control" name="time_start" id="time_start" value="<%%VALUE(time_start)%%>" required>
41 </div>
42 </div>
43
44 <div class="form-group">
45 <hr class="hidden-md hidden-lg">
46 <label for="time_end" class="control-label col-lg-3">Kết thúc<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
47 <div class="col-lg-9">
48 <input maxlength="" type="text" class="form-control" name="time_end" id="time_end" value="<%%VALUE(time_end)%%>" required>
49 </div>
50 </div>
51
52 <div class="form-group">
53 <hr class="hidden-md hidden-lg">
54 <label for="activity" class="control-label col-lg-3">Hoạt động<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
55 <div class="col-lg-9">
56 <input maxlength="40" type="text" class="form-control" name="activity" id="activity" value="<%%VALUE(activity)%%>" required>
57 </div>
58 </div>
59
60 </fieldset>
61 </div>
62
63 <!-- DV action buttons -->
64 <hr class="hidden-md hidden-lg">
65 <div class="col-md-4 col-lg-2" id="personal_time_table_dv_action_buttons">
66 <div class="btn-toolbar">
67 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
68 <%%UPDATE_BUTTON%%>
69 </div><p></p>
70 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
71 <%%DESELECT_BUTTON%%>
72 <%%DVPRINT_BUTTON%%>
73 <%%DELETE_BUTTON%%>
74 </div><p></p>
75 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
76 <%%INSERT_BUTTON%%>
77 </div>
78 </div>
79 </div>
80 </div>
81
82
83 </div><!-- /div class="panel-body" -->
84 <script>
85 $j(function() {
86 var add_new_mode = (!$j('input[name=SelectedID]').val());
87 var embedded_mode = ($j('input[name=Embedded]').val() == 1);
88
89 /* auto-close embedded page? */
90 var autoclose_mode = ($j('input[name=AutoClose]').val() == 1);
91 var record_added_ok = (location.search.split('record-added-ok=').length == 2);
92 var record_updated_ok = (location.search.split('record-updated-ok=').length == 2);
93 if((record_added_ok || record_updated_ok) && embedded_mode && autoclose_mode){
94 setTimeout(AppGini.closeParentModal, 2000);
95 }
96
97 /* enable DV action buttons to float on scrolling down the form */
98 enable_dvab_floating();
99
100 if(!(embedded_mode && AppGini.mobileDevice())){
101 $j('select, input[type=text], textarea').not(':disabled').eq(0).focus();
102 }
103
104 $j('form').eq(0).change(function(){
105 if($j(this).data('already_changed')) return;
106 if($j('#deselect').length) $j('#deselect').removeClass('btn-default').addClass('btn-warning').get(0).lastChild.data = " <%%TRANSLATION(Cancel)%%>";
107 $j(this).data('already_changed', true);
108 });
109
110 $j('a[href="<%%TRANSLATION(ImageFolder)%%>"]').click(function(){ /* */ return false; });
111
112
113 if(!embedded_mode){
114 /* add a horizontal spacer to [add new parent] buttons that don't have a spacered element before them */
115 $j('.add_new_parent').prev(':not(.hspacer-md)').next().addClass('hspacer-md');
116
117 $j('.add_new_parent').click(function(){
118 var pt = $j(this).attr('id').replace(/_add_new$/, '');
119 modal_window({
120 url: pt + '_view.php?addNew_x=1&Embedded=1',
121 close: function(){
122 var field_id = $j('#' + pt + '_add_new').prevAll('input:hidden').eq(0).attr('id');
123 $j('#' + field_id + '-container').select2('focus').select2('focus');
124 },
125 size: 'full',
126 title: $j(this).attr('title')
127 });
128 });
129 }
130
131 AppGini.hideViewParentLinks();
132
133 $j('form').on('click', '.view_parent', function(){
134 var pt = $j(this).attr('id').replace(/_view_parent$/, '');
135 if($j(this).prevAll('input:hidden').length){
136 var parent_id = $j(this).prevAll('input:hidden').eq(0).val();
137 }else{
138 var parent_id = $j(this).prevAll().children('input:hidden').eq(0).val();
139 }
140
141 /* handle radio lookups */
142 if($j(this).prevAll('[type=radio]').length){
143 parent_id = $j(this).prevAll('[type=radio]').eq(0).val();
144 }
145
146 if(parent_id != '{empty_value}' && parent_id != undefined && parent_id != ''){
147 var parent_link = $j(this).parents('.form-group').children('label').data('parent_link');
148 switch(parent_link){
149 case 'view_parent_hidden':
150 break;
151 case 'view_parent_modal':
152 modal_window({
153 url: pt + '_view.php?Embedded=1&SelectedID=' + encodeURIComponent(parent_id),
154 close: function(){
155 var field_id = $j('#' + pt + '_view_parent').prevAll('input:hidden').eq(0).attr('id');
156 $j('#' + field_id + '-container').select2('focus').select2('focus');
157 },
158 size: 'full',
159 title: $j(this).attr('title')
160 });
161 break;
162 case 'view_parent_same_window':
163 window.location = pt + '_view.php?Embedded=' + (embedded_mode ? '1' : '') + '&SelectedID=' + encodeURIComponent(parent_id);
164 break;
165 case 'view_parent_new_window':
166 window.open(pt + '_view.php?SelectedID=' + encodeURIComponent(parent_id));
167 break;
168 }
169
170 }
171 });
172
173
174 /* load admin tools for admin user */
175 if(!add_new_mode){
176 $j('body').append('<div id="admin-tools-appendix"></div>');
177 $j('#admin-tools-appendix').load(
178 'ajax_admin_tools.php?table=personal_time_table&id=<%%URLVALUE(id)%%>',
179 function(resp){
180 if(!resp.length) return;
181 $j.ajax('ajax_admin_tools.php?action=get_admin_tools_js&table=personal_time_table&id=<%%URLVALUE(id)%%>');
182 }
183 );
184 }
185
186 /* warn user if 'add new' clicked while unsaved changes exist */
187 $j('#addNew').click(function(){
188 if($j('#deselect.btn-warning').length){
189 return confirm('<%%TRANSLATION(discard changes confirm)%%>');
190 }
191 });
192
193 });
194 </script>
2
3 <a name="detail-view"></a>
4 <div class="panel-heading"><h3 class="panel-title"><strong><%%DETAIL_VIEW_TITLE%%></strong></h3></div>
5
6 <div class="panel-body" id="personal_time_table_dv_container">
7 <!-- child links -->
8 <div class="row vspacer-md">
9 <div class="col-xs-12">
10 <div class="clearfix"></div>
11 </div>
12 </div>
13 <hr class="hidden-xs hidden-sm">
14
15 <div class="row">
16 <!-- form inputs -->
17 <div class="col-md-8 col-lg-10" id="personal_time_table_dv_form">
18 <fieldset class="form-horizontal">
19
20 <div class="form-group">
21 <hr class="hidden-md hidden-lg">
22 <label for="id" class="control-label col-lg-3">ID</label>
23 <div class="col-lg-9">
24 <div class="form-control-static" id="id"><%%VALUE(id)%%></div>
25 </div>
26 </div>
27
28 <div class="form-group">
29 <hr class="hidden-md hidden-lg">
30 <label for="day" class="control-label col-lg-3">Ngày<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
31 <div class="col-lg-9">
32 <%%COMBO(day)%%>
33 </div>
34 </div>
35
36 <div class="form-group">
37 <hr class="hidden-md hidden-lg">
38 <label for="time_start" class="control-label col-lg-3">Thời gian bắt đầu<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
39 <div class="col-lg-9">
40 <input maxlength="" type="text" class="form-control" name="time_start" id="time_start" value="<%%VALUE(time_start)%%>" required>
41 </div>
42 </div>
43
44 <div class="form-group">
45 <hr class="hidden-md hidden-lg">
46 <label for="time_end" class="control-label col-lg-3">Kết thúc<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
47 <div class="col-lg-9">
48 <input maxlength="" type="text" class="form-control" name="time_end" id="time_end" value="<%%VALUE(time_end)%%>" required>
49 </div>
50 </div>
51
52 <div class="form-group">
53 <hr class="hidden-md hidden-lg">
54 <label for="activity" class="control-label col-lg-3">Hoạt động<span class="text-danger"><%%TRANSLATION(*)%%></span></label>
55 <div class="col-lg-9">
56 <input maxlength="40" type="text" class="form-control" name="activity" id="activity" value="<%%VALUE(activity)%%>" required>
57 </div>
58 </div>
59
60 </fieldset>
61 </div>
62
63 <!-- DV action buttons -->
64 <hr class="hidden-md hidden-lg">
65 <div class="col-md-4 col-lg-2" id="personal_time_table_dv_action_buttons">
66 <div class="btn-toolbar">
67 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
68 <%%UPDATE_BUTTON%%>
69 </div><p></p>
70 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
71 <%%DESELECT_BUTTON%%>
72 <%%DVPRINT_BUTTON%%>
73 <%%DELETE_BUTTON%%>
74 </div><p></p>
75 <div class="btn-group-vertical btn-group-lg" style="width: 100%;">
76 <%%INSERT_BUTTON%%>
77 </div>
78 </div>
79 </div>
80 </div>
81
82
83 </div><!-- /div class="panel-body" -->
84 <script>
85 $j(function() {
86 var add_new_mode = (!$j('input[name=SelectedID]').val());
87 var embedded_mode = ($j('input[name=Embedded]').val() == 1);
88
89 /* auto-close embedded page? */
90 var autoclose_mode = ($j('input[name=AutoClose]').val() == 1);
91 var record_added_ok = (location.search.split('record-added-ok=').length == 2);
92 var record_updated_ok = (location.search.split('record-updated-ok=').length == 2);
93 if((record_added_ok || record_updated_ok) && embedded_mode && autoclose_mode){
94 setTimeout(AppGini.closeParentModal, 2000);
95 }
96
97 /* enable DV action buttons to float on scrolling down the form */
98 enable_dvab_floating();
99
100 if(!(embedded_mode && AppGini.mobileDevice())){
101 $j('select, input[type=text], textarea').not(':disabled').eq(0).focus();
102 }
103
104 $j('form').eq(0).change(function(){
105 if($j(this).data('already_changed')) return;
106 if($j('#deselect').length) $j('#deselect').removeClass('btn-default').addClass('btn-warning').get(0).lastChild.data = " <%%TRANSLATION(Cancel)%%>";
107 $j(this).data('already_changed', true);
108 });
109
110 $j('a[href="<%%TRANSLATION(ImageFolder)%%>"]').click(function(){ /* */ return false; });
111
112
113 if(!embedded_mode){
114 /* add a horizontal spacer to [add new parent] buttons that don't have a spacered element before them */
115 $j('.add_new_parent').prev(':not(.hspacer-md)').next().addClass('hspacer-md');
116
117 $j('.add_new_parent').click(function(){
118 var pt = $j(this).attr('id').replace(/_add_new$/, '');
119 modal_window({
120 url: pt + '_view.php?addNew_x=1&Embedded=1',
121 close: function(){
122 var field_id = $j('#' + pt + '_add_new').prevAll('input:hidden').eq(0).attr('id');
123 $j('#' + field_id + '-container').select2('focus').select2('focus');
124 },
125 size: 'full',
126 title: $j(this).attr('title')
127 });
128 });
129 }
130
131 AppGini.hideViewParentLinks();
132
133 $j('form').on('click', '.view_parent', function(){
134 var pt = $j(this).attr('id').replace(/_view_parent$/, '');
135 if($j(this).prevAll('input:hidden').length){
136 var parent_id = $j(this).prevAll('input:hidden').eq(0).val();
137 }else{
138 var parent_id = $j(this).prevAll().children('input:hidden').eq(0).val();
139 }
140
141 /* handle radio lookups */
142 if($j(this).prevAll('[type=radio]').length){
143 parent_id = $j(this).prevAll('[type=radio]').eq(0).val();
144 }
145
146 if(parent_id != '{empty_value}' && parent_id != undefined && parent_id != ''){
147 var parent_link = $j(this).parents('.form-group').children('label').data('parent_link');
148 switch(parent_link){
149 case 'view_parent_hidden':
150 break;
151 case 'view_parent_modal':
152 modal_window({
153 url: pt + '_view.php?Embedded=1&SelectedID=' + encodeURIComponent(parent_id),
154 close: function(){
155 var field_id = $j('#' + pt + '_view_parent').prevAll('input:hidden').eq(0).attr('id');
156 $j('#' + field_id + '-container').select2('focus').select2('focus');
157 },
158 size: 'full',
159 title: $j(this).attr('title')
160 });
161 break;
162 case 'view_parent_same_window':
163 window.location = pt + '_view.php?Embedded=' + (embedded_mode ? '1' : '') + '&SelectedID=' + encodeURIComponent(parent_id);
164 break;
165 case 'view_parent_new_window':
166 window.open(pt + '_view.php?SelectedID=' + encodeURIComponent(parent_id));
167 break;
168 }
169
170 }
171 });
172
173
174 /* load admin tools for admin user */
175 if(!add_new_mode){
176 $j('body').append('<div id="admin-tools-appendix"></div>');
177 $j('#admin-tools-appendix').load(
178 'ajax_admin_tools.php?table=personal_time_table&id=<%%URLVALUE(id)%%>',
179 function(resp){
180 if(!resp.length) return;
181 $j.ajax('ajax_admin_tools.php?action=get_admin_tools_js&table=personal_time_table&id=<%%URLVALUE(id)%%>');
182 }
183 );
184 }
185
186 /* warn user if 'add new' clicked while unsaved changes exist */
187 $j('#addNew').click(function(){
188 if($j('#deselect.btn-warning').length){
189 return confirm('<%%TRANSLATION(discard changes confirm)%%>');
190 }
191 });
192
193 });
194 </script>